
package com.x52im.rbchat.logic.chat_root;

import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;

import com.x52im.rainbowchat.im.dto.MsgType;

import org.w3c.dom.Text;

public class ChattingListViewHolder
{
    /** ------------------------ 【聊天消息气泡中的组件命名约定】 -------------------------- */
    /* 约定1：所有聊天消息通用(必须)的组件，命名以"mv"开头、非通用组件以"ev"开头                 */
    /* 约定2：当通用组件("mv"开头)对于该类消息无意义时，可在layout中设置gone（不可见），但不可没有 */
    /** --------------------------------------------------------------------------------- */

    /**
     * ------------ 各种消息通用 ---------------------
     */
    public int isComMsg = MsgType.TYPE_TEXT;

    /** 消息发送时间显示控件（所有消息都有此组件） */
    public TextView mvSendTime_v2020;

    /** 消息内容主布局（所有消息都有此组件） */
    public ViewGroup mvContentMainLayout;
    /** 消息内容显示控件（在不同的消息类型中，此组件表示的内容意义可能不一样哦） */
    public TextView mvContent;
    /** 消息内容图标显示控件（在不同的消息类型中，此组件表示的内容意义可能不一样哦） */
    public ImageView mvContentIcon;
    /** 消息内容描述信息显示控件（在不同的消息类型中，此组件表示的内容意义可能不一样哦） */
    public TextView mvContentDesc;

    /** 消息发送失败图标显示控件 */
    public ImageView mvChatSendFaild = null;

    /** 消息发送者头像 */
    public ImageView mvUserHead = null;
    /** 消息发送者昵称 */
    public TextView mvUserName = null;

    // 以下消息内容组件点击事件处理者用于“发出的”、“接收的”：图片、语音留言消息
    public View.OnClickListener contentOnClickListener = null;
    // 以下被引用消息内容组件点击事件处理者用于响应文本消息下方的被"引用"消息内容点击时
    public View.OnClickListener quoteContentOnClickListener = null;
    // 该用户头像组件点击事件处理者用于所有消息类型
    public View.OnClickListener headIconOnClickListener = null;
    // 该发送失败提示图标的点击事件处理者用于所有消息类型
    public View.OnClickListener sendFialedOnClickListener = null;


    /**
     * ------------ 发出/收到的文本消息专用 ---------------------
     */
    // 被"引用"消息的父布局引用（用于ui上设定可见性）
    public View evQuoteLayout = null;
    // 被"引用"消息的类型图标（比如被"引用"的短视频消息会显示一个小播放按钮等）
    public ImageView evQuoteContentTypeIcon = null;
    // 被"引用"消息的图标父布局引用（用于ui上设定可见性）
    public View evQuoteContentIconLayout = null;


    /**
     * ------------ 发出的图片、发出的语音留言、发出的大文件、发出的短视频专用 ---------------------
     */
    // 以下2个组件目前仅用于“发出的”：图片、语音留言、大文件、短视频消息 的上传进度父布局
    public View evSendstatusSencondaryLayout = null;
    public TextView evSendstatusSencondaryHintView = null;


    /**
     * ------------ 发出/收到的礼品消息专用 ---------------------
     */
    // 该组件目前仅用于赠送（包括发出的、收到的）的礼品消息时的动画背景效果 */
    public ImageView evGiftRotateEfectView;


    /**
     * ------------ 发出/收到的个人名片消息专用 ---------------------
     */
    // 该组件目前仅用于显示名片类型名称
    public TextView ev_chatcontent_type_forContact;


    /**
     * ------------ 收到的语音留言消息、发出的大文件消息专用 ---------------------
     */
    // 该1个组件目前用于“收到的”语音留言消息：声音文件下载进度、发出的大文件消息、发出的短视频文件：文件上传进度
    public ProgressBar evProgressBar = null;
}